<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">

<ui:composition template="/templates/masterLayout.xhtml">

	<ui:define name="title">
			PRODUCTO
		</ui:define>
	<ui:define name="content">

		<p:growl id="mensaje" showDetail="true" life="7000" />

		<h:outputText value="RESPONSIVE WEB DESIGN" class="asterisco" />

		<p:panel id="panel" header="LISTADO DE PRODUCTOS"
			style="margin-bottom:10px;">
			<h:form id="busquedaTabla">
				<h:panelGrid columns="3">
					<h:outputText value="GRUPO " />
					<p:selectOneMenu filter="true" filterMatchMode="contains"
						value="#{productoBean.criterioBusquedaGrupo.grupoid}">
						<f:selectItem itemLabel="ESCOJA UN GRUPO" />
						<f:selectItems value="#{productoBean.listaGrupos}" var="grupo"
							itemValue="#{grupo.grupoid}" itemLabel="#{grupo.nombre}" />
					</p:selectOneMenu>
					<h:outputText />

					<h:outputText value="CODIGO PRINCIPAL / CÓDIGO AUXILIAR / NOMBRE " />
					<p:inputText value="#{productoBean.criterioBusqueda}"
						onblur="this.value=this.value.toUpperCase();" />
					<p:commandButton update="busquedaTabla, :formDataTable, :mensaje"
						icon="#{msg['iconoBuscar']}"
						actionListener="#{productoBean.obtenerProductos}" />
				</h:panelGrid>
			</h:form>

			<h:form id="formDataTable">
				<p:dataTable id="tablaProductos" var="producto" scrollable="true"
					styleClass="ui-datatable-scrollable-body"
					value="#{productoBean.listaProductos}" paginator="true" rows="10"
					rowsPerPageTemplate="5,10,15" paginatorPosition="bottom"
					paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
					emptyMessage="#{msg['lbl.mensajeTabla']}"
					rowStyleClass="#{producto.activo eq true ? null:'desactivo'}">

					<f:facet name="header">
						<h:form>
							<p:tooltip for="btnNuevo" value="#{msg['lbl.insertar']}" />
							<p:commandButton update=":formNuevo"
								oncomplete="PF('productoDialogoNuevo').show()" id="btnNuevo"
								icon="ui-icon-plus"
								actionListener="#{productoBean.cargarInsertar}" />
						</h:form>
					</f:facet>

					<p:column headerText="#{msg['lbl.gestionar']}"
						style="text-align:center;width: 50px;">
						<p:tooltip for="btnMostrar" value="MOSTRAR" />
						<p:tooltip for="btnEditar" value="EDITAR" />
						<p:tooltip for="btnEliminar"
							value="#{producto.activo eq true ? msg['lbl.desactivar']:msg['lbl.activar']}" />

						<p:commandButton id="btnMostrar" update=":formMostrar"
							oncomplete="PF('productoDialogoMostrar').show()"
							action="#{productoBean.cargaMostrar}" icon="ui-icon-newwin">
							<f:setPropertyActionListener value="#{producto}"
								target="#{productoBean.producto}" />
						</p:commandButton>

						<p:commandButton id="btnEditar" update=":formEditar"
							oncomplete="PF('productoDialogoEditar').show()"
							icon="ui-icon-pencil" action="#{productoBean.cargaEditar}">
							<f:setPropertyActionListener value="#{producto}"
								target="#{productoBean.producto}" />
						</p:commandButton>

						<p:commandButton id="btnEliminar" update=":formEliminar"
							oncomplete="PF('productoDialogoEliminar').show()"
							icon="#{producto.activo eq true ? 'ui-icon-close':'ui-icon-check'}">
							<f:setPropertyActionListener value="#{producto}"
								target="#{productoBean.producto}" />
						</p:commandButton>
					</p:column>

					<p:column headerText="CODIGO PRICIPAL" filterMatchMode="contains"
						filterBy="#{producto.ean}" style="text-align:center;width: 70px;">
						#{producto.ean}
					</p:column>

					<p:column headerText="NOMBRE" filterMatchMode="contains"
						filterBy="#{producto.nombreimprimir}"
						style="text-align:center;width: 80px;">
						<p:outputLabel value="#{producto.nombreimprimir}" readonly="true"
							style="width: 500px;border: white;" />
					</p:column>

					<p:column headerText="GRUPO" style="text-align:center;width: 60px;">  
          	  			#{producto.grupo.nombre}  
       		 		</p:column>

					<p:column headerText="PRECIO COSTO"
						style="text-align:center;width: 50px;">  
          	  			#{producto.precio}  
       		 		</p:column>

					<p:column headerText="P.COSTO+IVA"
						style="text-align:center;width: 50px;">
						<h:outputText
							value="#{producto.iva eq true ? producto.precio+(producto.precio*productoBean.iva.porcentaje/100) : 0}">
							<f:convertNumber maxFractionDigits="#{productoBean.decimales}"
								minFractionDigits="#{productoBean.decimales}" locale="es_EC"
								groupingUsed="false" />
						</h:outputText>
					</p:column>
				</p:dataTable>
			</h:form>
		</p:panel>

		<p:dialog widgetVar="productoDialogoEliminar" severity="alert"
			header="ACTIVAR/DESACTIVAR PRODUCTO" showEffect="clip"
			hideEffect="fold" modal="false" resizable="false" width="255px"
			style="text-align: center;">
			<h:form id="formEliminar">
				<h:inputHidden value="#{productoBean.producto.productoid}" />
				<br />
				<ui:param name="desactivar"
					value="¿ DESEA DESACTIVAR EL PRODUCTO: #{productoBean.producto.nombreimprimir} ?" />
				<ui:param name="activar"
					value="¿ DESEA ACTIVAR EL PRODUCTO: #{productoBean.producto.nombreimprimir} ?" />
				<h:outputText
					value="#{productoBean.producto.activo eq true ? desactivar : activar}" />
				<br />
				<br />
				<p:commandButton value="#{msg['btn.aceptar']}"
					update=":formDataTable,:mensaje" icon="#{msg['iconoAceptar']}"
					oncomplete="PF('productoDialogoEliminar').hide()"
					actionListener="#{productoBean.eliminar}" />
				<p:commandButton value="#{msg['btn.cancelar']}" type="button"
					onclick="PF('productoDialogoEliminar').hide()" icon="ui-icon-close" />
			</h:form>
		</p:dialog>

		<p:dialog header="INSERTAR PRODUCTO" widgetVar="productoDialogoNuevo"
			resizable="false" modal="false" showEffect="clip" hideEffect="fold"
			id="dialogoNuevo" styleClass="dialogoInsertarProducto">

			<h:form id="formNuevo">

				<h:outputText value="Los campos marcados con" />
				<h:outputText value=" * " class="asterisco" />
				<h:outputText value="son requeridos" />

				<h:panelGrid id="panelNuevo" columns="1" cellpadding="1">
					<h:panelGrid columns="3" cellpadding="1" style="width: 100%;"
						columnClasses="a,a">

						<h:outputText value="*" class="asterisco" />
						<h:outputText value="CODIGO PRINCIPAL:" />
						<p:inputText id="txtEan" value="#{productoBean.producto.ean}"
							style="width: 100% !important;">
						</p:inputText>

						<h:outputText value="*" class="asterisco" />
						<h:outputText value="CODIGO AUXILIAR:" />
						<p:inputText value="#{productoBean.producto.codigo1}"
							style="width: 100% !important;" />

						<h:outputText value="*" class="asterisco" />
						<h:outputText value="PRECIO COSTO:" />
						<p:inputText id="precio" value="#{productoBean.producto.precio}"
							style="width: 100% !important;">
							<p:ajax event="blur" process="precio, @this"
								listener="#{productoBean.calcularTablaPrecios}"
								update="tablaTipoPrecios" />
						</p:inputText>

						<h:outputText value="*" class="asterisco" />
						<h:outputText value="CANTIDAD MINIMA:" />
						<p:inputText value="#{productoBean.producto.cantidadminima}"
							style="width: 100% !important;" />

						<h:outputText value="" />
						<h:outputText value="ICE:" />
						<p:inputText value="#{productoBean.producto.ice}"
							style="width: 100% !important;" />

						<h:outputText value="" />
						<h:outputText value="IVA:" />
						<p:selectBooleanCheckbox id="checkIva"
							style="width: 100% !important;"
							value="#{productoBean.producto.iva}" />

						<h:outputText value="*" class="asterisco" />
						<h:outputText value="GRUPO:" />
						<p:selectOneMenu id="comboGrupo" filter="true"
							filterMatchMode="contains"
							value="#{productoBean.producto.grupo.grupoid}"
							style="width: 100% !important;">
							<f:selectItem itemLabel="ESCOJA UN GRUPO" />
							<f:selectItems value="#{productoBean.listaGrupos}" var="grupo"
								itemValue="#{grupo.grupoid}" itemLabel="#{grupo.nombre}" />
							<p:ajax listener="#{productoBean.cargarProductoCaracteristica}"
								event="change" update="tablaCaracteristicas" />
						</p:selectOneMenu>
					</h:panelGrid>

					<h:panelGrid columns="1" cellpadding="1">

						<h:outputText value="" />
						<h:outputText value="CARACTERISTICAS:" />
						<p:dataTable id="tablaCaracteristicas" var="caracteristica"
							value="#{productoBean.producto.productocaracteristicas}"
							editable="true" editMode="cell"
							emptyMessage="#{msg['lbl.mensajeTabla']}"
							rowStyleClass="#{caracteristica.imprimir eq true ? 'activo' : null}">

							<p:column headerText="NOMBRE" style="width:50%" width="50%">
									#{caracteristica.caracteristica.nombre}		
								</p:column>

							<p:column headerText="DATOS/PRODUCTO">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{caracteristica.valor}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{caracteristica.valor}"
											onblur="this.value=this.value.toUpperCase();">
											<p:ajax
												listener="#{productoBean.comprobarCaracteristica(caracteristica)}"
												event="change" update="tablaCaracteristicas, :mensaje" />
										</p:inputText>
									</f:facet>
								</p:cellEditor>
							</p:column>
						</p:dataTable>

						<h:outputText value="" />

						<p:commandLink value="PRECIOS" update="tablaTipoPrecios,:mensaje"
							actionListener="#{productoBean.insertarFilaTipoPrecio}"
							style="font-weight:bold" />

						<p:dataTable id="tablaTipoPrecios" var="tipoPrecio"
							value="#{productoBean.listaTpp}" editable="true" editMode="cell"
							rowStyleClass="#{tipoPrecio.tipoPrecioProducto.pvp eq true ? 'activo' : null}">

							<p:column headerText="#{msg['lbl.gestionar']}"
								style="text-align:center;width: 3%;">
								<p:commandButton id="btnEliminar" icon="ui-icon-close"
									update="tablaTipoPrecios, :mensaje"
									action="#{productoBean.eliminarTipoPrecioProducto(tipoPrecio)}"
									process="@this" />
							</p:column>

							<p:column headerText="NOMBRE"
								style="text-align:center;width: 3%;">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{tipoPrecio.tipoPrecioProducto.nombre}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{tipoPrecio.tipoPrecioProducto.nombre}"
											style="width:96%" label="NOMBRE">
										</p:inputText>
									</f:facet>
								</p:cellEditor>
							</p:column>

							<p:column headerText="%" style="text-align:center;width: 3%;">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{tipoPrecio.porcentaje}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{tipoPrecio.porcentaje}"
											style="width:96%" label="PORCENTAJE">
											<p:ajax
												listener="#{productoBean.calcularPrecioPorPorcentaje(tipoPrecio)}"
												event="change" update="tablaTipoPrecios, :mensaje" />
										</p:inputText>
									</f:facet>
								</p:cellEditor>
							</p:column>

							<p:column headerText="SIN IVA"
								style="text-align:center;width: 3%;">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{tipoPrecio.precio}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{tipoPrecio.precio}" style="width:96%"
											label="PRECIO">
											<p:ajax
												listener="#{productoBean.calcularPrecioPorGanancia(tipoPrecio)}"
												event="change" update="tablaTipoPrecios, :mensaje" />
										</p:inputText>
									</f:facet>
								</p:cellEditor>
							</p:column>

							<p:column headerText="CON IVA"
								style="text-align:center;width: 3%;">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{tipoPrecio.precioIva}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{tipoPrecio.precioIva}" style="width:96%"
											label="PRECIO+IVA">
											<p:ajax
												listener="#{productoBean.calcularPrecioPorIva(tipoPrecio)}"
												event="change" update="tablaTipoPrecios, :mensaje" />
										</p:inputText>
									</f:facet>
								</p:cellEditor>
							</p:column>

							<p:column headerText="%F-$F" style="text-align:center;width: 3%;">
								<p:selectBooleanButton
									value="#{tipoPrecio.tipoPrecioProducto.porcentajepreciofijo}"
									onLabel="%F" offLabel="$F">
									<p:ajax listener="#{productoBean.muestra}" />
								</p:selectBooleanButton>
							</p:column>

							<p:column headerText="PVP" style="text-align:center;width: 3%;">
								<p:commandButton id="btn1" update="tablaTipoPrecios"
									action="#{productoBean.pvp}" process="btn1"
									icon="#{tipoPrecio.tipoPrecioProducto.pvp ? 'ui-icon-check' : 'ui-icon-close'}">
									<f:setPropertyActionListener
										target="#{productoBean.tablaPrecios}" value="#{tipoPrecio}" />
								</p:commandButton>
							</p:column>

						</p:dataTable>
					</h:panelGrid>

					<p:commandLink value="UNIDADES" update="tablaUnidades, :mensaje"
						actionListener="#{productoBean.insertarFilaUnidad}"
						style="font-weight:bold" />
					<p:dataTable id="tablaUnidades" var="tablaProductoUnidad"
						value="#{productoBean.producto.productounidads}" editable="true"
						editMode="cell" emptyMessage="#{msg['lbl.mensajeTabla']}">

						<p:ajax event="cellEdit"
							listener="#{productoBean.comprobarUnidad}"
							update="tablaUnidades, :mensaje" />

						<p:column headerText="GESTIONAR" style="text-align:center"
							width="30%">
							<p:commandButton id="btnEliminar" update=":mensaje,tablaUnidades"
								action="#{productoBean.eliminarUnidad(tablaProductoUnidad)}"
								icon="ui-icon-close" process="@this" />
						</p:column>

						<p:column headerText="ORDEN" style="text-align:center">
									#{tablaProductoUnidad.orden}		
								</p:column>

						<p:column headerText="UNIDAD" style="text-align:center">
							<p:cellEditor>
								<f:facet name="output">
									<h:outputText value="#{tablaProductoUnidad.unidad.nombre}" />
								</f:facet>
								<f:facet name="input">
									<p:selectOneMenu id="comboUnidad" filter="true"
										filterMatchMode="contains"
										value="#{tablaProductoUnidad.unidad.unidadid}"
										style="width: 150px !important;">
										<f:selectItem itemLabel="ESCOJA UNA UNIDAD" />
										<f:selectItems value="#{unidadBean.listaUnidades}"
											var="unidad" itemValue="#{unidad.unidadid}"
											itemLabel="#{unidad.nombre}" />
									</p:selectOneMenu>
								</f:facet>
							</p:cellEditor>
						</p:column>

						<p:column headerText="CANTIDAD" style="text-align:center">
							<p:cellEditor>
								<f:facet name="output">
									<h:outputText value="#{tablaProductoUnidad.cantidad}" />
								</f:facet>
								<f:facet name="input">
									<p:inputText value="#{tablaProductoUnidad.cantidad}">
										<p:ajax listener="#{productoBean.insertarProductoUnidad}"
											event="change" update="tablaUnidades" />
									</p:inputText>
								</f:facet>
							</p:cellEditor>
						</p:column>
					</p:dataTable>

					<f:facet name="footer">
						<br></br>
						<p:separator />
						<p:commandButton value="GUARDAR"
							update=":formDataTable ,:mensaje, :formNuevo"
							oncomplete="comprobar(xhr, status, args)" id="btnNuevoAceptar"
							icon="ui-icon-disk" actionListener="#{productoBean.insertar}" />

						<p:commandButton value="CANCELAR"
							oncomplete="PF('productoDialogoNuevo').hide()"
							id="btnNuevolimpiar" icon="ui-icon-close" process="@this" />
					</f:facet>

				</h:panelGrid>

			</h:form>

		</p:dialog>

		<p:dialog header="MOSTRAR PRODUCTO" widgetVar="productoDialogoMostrar"
			resizable="false" modal="false" showEffect="clip" hideEffect="fold"
			id="dialogoMostrar" styleClass="dialogoMostrarProducto">

			<h:form id="formMostrar">

				<h:panelGrid columns="2" cellpadding="1" width="100%">

					<h:panelGrid columns="2" cellpadding="1">
						<h:outputText value="NOMBRE:" style="font-weight:bold;" />
						<p:inputTextarea styleClass="mostrar"
							value="#{productoBean.producto.nombreimprimir}" readonly="true" />

						<h:outputText value="NOMBRE IMPRIMIR:" style="font-weight:bold;" />
						<p:inputTextarea styleClass="mostrar"
							value="#{productoBean.producto.nombreimprimir}" readonly="true" />

						<h:outputText value="CODIGO PRINCIPAL:" style="font-weight:bold;" />
						<h:outputText value="#{productoBean.producto.ean}" />

						<h:outputText value="CODIGO AUXILIAR:" style="font-weight:bold;" />
						<h:outputText value="#{productoBean.producto.codigo1}" />

						<h:outputText value="PRECIO COSTO:" style="font-weight:bold;" />
						<h:outputText value="#{productoBean.producto.precio}" />
					</h:panelGrid>

					<h:panelGrid columns="2" cellpadding="1">
						<h:outputText value="CANTIDAD MINIMA:" style="font-weight:bold;" />
						<h:outputText value="#{productoBean.producto.cantidadminima}" />

						<h:outputText value="ICE:" style="font-weight:bold;" />
						<h:outputText value="#{productoBean.producto.ice}" />

						<h:outputText value="IVA:" style="font-weight:bold;" />
						<p:selectBooleanCheckbox value="#{productoBean.producto.iva}"
							disabled="true" />

						<h:outputText value="ACTIVO:" style="font-weight:bold;" />
						<p:selectBooleanCheckbox value="#{productoBean.producto.activo}"
							disabled="true" />

						<h:outputText value="GRUPO:" style="font-weight:bold;" />
						<h:outputText value="#{productoBean.producto.grupo.nombre}" />
					</h:panelGrid>
				</h:panelGrid>


				<h:outputText value="CARACTERISTICAS:" style="font-weight:bold;" />
				<p:dataTable var="caracteristica"
					value="#{productoBean.producto.productocaracteristicas}"
					emptyMessage="#{msg['lbl.mensajeTabla']}"
					rowStyleClass="#{caracteristica.imprimir eq true ? 'activo' : null}">

					<p:column headerText="NOMBRE" width="30%"> 
									#{caracteristica.caracteristica.nombre}		
							</p:column>

					<p:column headerText="DATOS/PRODUCTO" width="60%">
									#{caracteristica.valor}
							</p:column>
				</p:dataTable>

				<h:outputText value="PRECIOS:" style="font-weight:bold;" />
				<p:dataTable id="tablaPreciosProducto" var="tablaPrecios"
					value="#{productoBean.listaTpp}"
					emptyMessage="#{msg['lbl.mensajeTabla']}"
					rowStyleClass="#{tablaPrecios.tipoPrecioProducto.pvp eq true ? 'activo' : null}">

					<p:column headerText="NOMBRE" width="30%">
									#{tablaPrecios.tipoPrecioProducto.nombre}		
								</p:column>

					<p:column headerText="%" width="30%">
									#{tablaPrecios.porcentaje}
								</p:column>

					<p:column headerText="SIN IVA" width="30%">
									#{tablaPrecios.precio}		
								</p:column>

					<p:column headerText="CON IVA" width="30%">
									#{tablaPrecios.precioIva}		
								</p:column>

					<p:column headerText="%F-$F" style="text-align:center;width: 30%;">
						<p:selectBooleanButton
							value="#{tablaPrecios.tipoPrecioProducto.porcentajepreciofijo}"
							onLabel="%F" offLabel="$F" disabled="true" />
					</p:column>
				</p:dataTable>

				<h:outputText value="BODEGAS:" style="font-weight:bold;" />
				<p:dataTable var="tablaBodegaProducto"
					value="#{productoBean.listaBodegaProductos}"
					emptyMessage="#{msg['lbl.mensajeTabla']}">

					<p:column headerText="NOMBRE">
									#{tablaBodegaProducto.nombreBodega}		
								</p:column>

					<p:column headerText="CANTIDAD">
									#{tablaBodegaProducto.cantidad}
								</p:column>
				</p:dataTable>

				<h:outputText value="UNIDADES" style="font-weight:bold;" />
				<p:dataTable var="tablaProductoUnidad"
					value="#{productoBean.producto.productounidads}"
					emptyMessage="#{msg['lbl.mensajeTabla']}">

					<p:column headerText="ORDEN">
									#{tablaProductoUnidad.orden}		
								</p:column>

					<p:column headerText="UNIDAD">
									#{tablaProductoUnidad.unidad.nombre}		
								</p:column>

					<p:column headerText="CANTIDAD">
									#{tablaProductoUnidad.cantidad}
								</p:column>
				</p:dataTable>



			</h:form>
		</p:dialog>

		<p:dialog header="EDITAR PRODUCTO" widgetVar="productoDialogoEditar"
			resizable="false" modal="false" showEffect="clip" hideEffect="fold"
			id="dialogoEditar" styleClass="dialogoInsertarProducto">

			<h:form id="formEditar">

				<p:focus context="formEditar" />
				<h:outputText value="Los campos marcados con" />
				<h:outputText value=" * " class="asterisco" />
				<h:outputText value="son requeridos" />

				<h:panelGrid columns="1" cellpadding="1">

					<h:panelGrid columns="3" cellpadding="1" style="width: 100%;"
						columnClasses="a,a">
						<h:outputText value="*" class="asterisco" />
						<h:outputText value="CODIGO PRINCIPAL:" />
						<p:inputText value="#{productoBean.producto.ean}"
							style="width: 100% !important;"
							onblur="this.value=this.value.toUpperCase();" />

						<h:outputText value="*" class="asterisco" />
						<h:outputText value="CODIGO AUXILIAR:" />
						<p:inputText value="#{productoBean.producto.codigo1}"
							style="width: 100% !important;"
							onblur="this.value=this.value.toUpperCase();" />

						<h:outputText />
						<h:outputText value="PRECIO COSTO:" />
						<p:inputText id="precio" value="#{productoBean.producto.precio}"
							style="width: 100% !important;" readonly="true" />

						<h:outputText value="*" class="asterisco" />
						<h:outputText value="CANTIDAD MINIMA:" />
						<p:inputText value="#{productoBean.producto.cantidadminima}"
							style="width: 100% !important;" />

						<h:outputText value="" />
						<h:outputText value="ICE:" />
						<p:inputText value="#{productoBean.producto.ice}"
							style="width: 100% !important;" />

						<h:outputText value="" />
						<h:outputText value="IVA:" />
						<p:selectBooleanCheckbox id="checkIva"
							style="width: 100% !important;"
							value="#{productoBean.producto.iva}" />

						<h:outputText value="*" class="asterisco" />
						<h:outputText value="GRUPO:" />
						<p:selectOneMenu id="comboGrupo" filter="true"
							filterMatchMode="contains"
							value="#{productoBean.producto.grupo.grupoid}"
							style="width: 100% !important;">
							<f:selectItem itemLabel="ESCOJA UN GRUPO" />
							<f:selectItems value="#{productoBean.listaGrupos}" var="grupo"
								itemValue="#{grupo.grupoid}" itemLabel="#{grupo.nombre}" />
							<p:ajax listener="#{productoBean.cargarProductoCaracteristica}"
								event="change" update="tablaCaracteristicas" />
						</p:selectOneMenu>
					</h:panelGrid>

					<h:panelGrid columns="1" cellpadding="1">

						<h:outputText value="CARACTERISTICAS:" />
						<p:dataTable id="tablaCaracteristicas" var="caracteristica"
							value="#{productoBean.producto.productocaracteristicas}"
							editable="true" editMode="cell"
							rowStyleClass="#{caracteristica.imprimir eq true ? 'activo' : null}">

							<p:column headerText="NOMBRE" style="text-align:center"
								width="50%">
									#{caracteristica.caracteristica.nombre}		
								</p:column>

							<p:column headerText="DATOS/PRODUCTO" style="text-align:center"
								width="50%">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{caracteristica.valor}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{caracteristica.valor}"
											onblur="this.value=this.value.toUpperCase();">
											<p:ajax
												listener="#{productoBean.comprobarCaracteristica(caracteristica)}"
												event="change" update="tablaCaracteristicas, :mensaje" />
										</p:inputText>
									</f:facet>
								</p:cellEditor>
							</p:column>
						</p:dataTable>

						<h:outputText value="" />
						<p:commandLink value="PRECIOS"
							update="tablaTipoPreciosEditar,:mensaje"
							actionListener="#{productoBean.insertarFilaTipoPrecio}"
							style="font-weight:bold" />

						<p:dataTable id="tablaTipoPreciosEditar" var="tipoPrecio"
							value="#{productoBean.listaTpp}" editable="true" editMode="cell"
							rowStyleClass="#{tipoPrecio.tipoPrecioProducto.pvp eq true ? 'activo' : null}">

							<p:column headerText="#{msg['lbl.gestionar']}"
								style="text-align:center" width="3%">
								<p:commandButton id="btnEliminar" icon="ui-icon-close"
									update="tablaTipoPreciosEditar, :mensaje"
									action="#{productoBean.eliminarTipoPrecioProducto(tipoPrecio)}"
									process="@this" />
							</p:column>

							<p:column headerText="NOMBRE" style="text-align:center"
								width="3%">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{tipoPrecio.tipoPrecioProducto.nombre}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{tipoPrecio.tipoPrecioProducto.nombre}"
											style="width:96%" label="NOMBRE">
										</p:inputText>
									</f:facet>
								</p:cellEditor>
							</p:column>

							<p:column headerText="%" style="text-align:center" width="3%">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{tipoPrecio.porcentaje}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{tipoPrecio.porcentaje}"
											style="width:96%" label="PORCENTAJE">
											<p:ajax
												listener="#{productoBean.calcularPrecioPorPorcentaje(tipoPrecio)}"
												process="@this" event="change"
												update="tablaTipoPreciosEditar, :mensaje" />
										</p:inputText>
									</f:facet>
								</p:cellEditor>
							</p:column>

							<p:column headerText="SIN IVA" style="text-align:center"
								width="3%">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{tipoPrecio.precio}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{tipoPrecio.precio}" style="width:96%"
											label="PRECIO">
											<p:ajax
												listener="#{productoBean.calcularPrecioPorGanancia(tipoPrecio)}"
												event="change" update="tablaTipoPreciosEditar, :mensaje" />
										</p:inputText>
									</f:facet>
								</p:cellEditor>
							</p:column>

							<p:column headerText="CON IVA" style="text-align:center"
								width="3%">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{tipoPrecio.precioIva}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{tipoPrecio.precioIva}" style="width:96%"
											label="PRECIO+IVA">
											<p:ajax
												listener="#{productoBean.calcularPrecioPorIva(tipoPrecio)}"
												event="change" update="tablaTipoPreciosEditar, :mensaje" />
										</p:inputText>
									</f:facet>
								</p:cellEditor>
							</p:column>

							<p:column headerText="%F-$F" style="text-align:center;width: 3%;">
								<p:selectBooleanButton
									value="#{tipoPrecio.tipoPrecioProducto.porcentajepreciofijo}"
									onLabel="%F" offLabel="$F" />
							</p:column>

							<p:column headerText="PVP" style="text-align:center" width="3%">
								<p:commandButton id="btn1" update="tablaTipoPreciosEditar"
									action="#{productoBean.pvp}" process="btn1"
									icon="#{tipoPrecio.tipoPrecioProducto.pvp ? 'ui-icon-check' : 'ui-icon-close'}">
									<f:setPropertyActionListener
										target="#{productoBean.tablaPrecios}" value="#{tipoPrecio}" />
								</p:commandButton>
							</p:column>

						</p:dataTable>

						<p:commandLink value="UNIDADES" update="tablaUnidades, :mensaje"
							actionListener="#{productoBean.insertarFilaUnidad}"
							style="text-align:center;width=3%;font-weight:bold" />
						<p:dataTable id="tablaUnidades" var="tablaProductoUnidad"
							value="#{productoBean.producto.productounidads}" editable="true"
							editMode="cell" emptyMessage="#{msg['lbl.mensajeTabla']}">

							<p:ajax event="cellEdit"
								listener="#{productoBean.comprobarUnidad}"
								update="tablaUnidades, :mensaje" />

							<p:column headerText="GESTIONAR" style="text-align:center"
								width="3%">
								<p:commandButton id="btnEliminar" update="tablaUnidades"
									action="#{productoBean.eliminarUnidad(tablaProductoUnidad)}"
									icon="ui-icon-close" process="@this" />
							</p:column>

							<p:column headerText="ORDEN" style="text-align:center" width="3%">
									#{tablaProductoUnidad.orden}		
								</p:column>

							<p:column headerText="UNIDAD" style="text-align:center"
								width="3%">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{tablaProductoUnidad.unidad.nombre}" />
									</f:facet>
									<f:facet name="input">
										<p:selectOneMenu id="comboUnidad" filter="true"
											filterMatchMode="contains"
											value="#{tablaProductoUnidad.unidad.unidadid}"
											style="width: 150px !important;">
											<f:selectItem itemLabel="ESCOJA UNA UNIDAD" />
											<f:selectItems value="#{unidadBean.listaUnidades}"
												var="unidad" itemValue="#{unidad.unidadid}"
												itemLabel="#{unidad.nombre}" />
										</p:selectOneMenu>
									</f:facet>
								</p:cellEditor>
							</p:column>

							<p:column headerText="CANTIDAD" style="text-align:center"
								width="3%">
								<p:cellEditor>
									<f:facet name="output">
										<h:outputText value="#{tablaProductoUnidad.cantidad}" />
									</f:facet>
									<f:facet name="input">
										<p:inputText value="#{tablaProductoUnidad.cantidad}">
											<p:ajax listener="#{productoBean.insertarProductoUnidad}"
												event="change" update="tablaUnidades" />
										</p:inputText>
									</f:facet>
								</p:cellEditor>
							</p:column>
						</p:dataTable>
					</h:panelGrid>

					<f:facet name="footer">
						<p:separator />
						<p:commandButton value="GUARDAR"
							update=":formDataTable,:mensaje, formEditar"
							oncomplete="comprobar(xhr, status, args)"
							id="btnModificarAceptar"
							actionListener="#{productoBean.actualizar}" icon="ui-icon-disk" />

						<p:commandButton value="CANCELAR"
							oncomplete="PF('productoDialogoEditar').hide()"
							id="btnModificarlimpiar" icon="ui-icon-close" />
					</f:facet>

				</h:panelGrid>
			</h:form>
		</p:dialog>

		<script type="text/javascript">
			//<![CDATA[
			function comprobar(xhr, status, args) {
				if (!args.validationFailed && args.error) {
					PF('productoDialogoNuevo').hide();
					PF('productoDialogoEditar').hide();
				}
			}

			function pvp() {
				if (!args.validationFailed) {
					PF('productoDialogoNuevo').hide();
					PF('productoDialogoEditar').hide();
				}
			}
			//]]>
		</script>

	</ui:define>
</ui:composition>
</html>